package org.itydl.game.business

import org.itydl.game.model.View

/**
 * 被攻击的能力，如：墙、坦克等
 */
interface Sufferable : View {

    /**
     * 被攻击者有生命值
     */
    val blood: Int

    /**
     * 返回值修改为数组，遭受攻击的返回修改为集合形式，表示遭受攻击后多个效果
     * <p>
     * 通知被哪个攻击者所攻击
     * @param attackable 具备攻击能力的物体
     * @return 被打击后应该给出一些反馈（爆炸效果(其实也是View类型)，添加到mViews的管理器中）
     */
    fun notifySuffered(attackable: Attackable): Array<View>?
}